package com.cimu.activemq.topic;

import com.cimu.activemq.constants.Constants;
import lombok.extern.slf4j.Slf4j;
import org.springframework.jms.annotation.JmsListener;
import org.springframework.stereotype.Component;

import javax.jms.Session;
import javax.jms.TextMessage;

/**
 * Title: TopicConsumer
 * Copyright: Copyright (c) 2017
 *
 * date 2018年12月09日 18:12
 */
@Component
@Slf4j
public class TopicConsumer {

    @JmsListener(destination = Constants.DEMO_TOPIC, containerFactory = "topicContainerFactory")
    public void receiveTopic(TextMessage text, Session session) throws Exception{
        try{
            log.info("======{}====={}======",text,session);
            //使用手动签收模式，需要手动的调用，如果不在catch中调用session.recover()消息只会在重启服务后重发
            text.acknowledge();
        }catch(Exception e){
            // 此不可省略 重发信息使用
            session.recover();
        }
    }

}
